--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scripts/ci/docker-tags.sh legacy/win7 (159b2358) Text, 1.76 KB
T8b949e#!/bin/sh
T8b949e# Generate Docker image tags from git context.
T8b949e#
T8b949e# Usage: docker-tags.sh <image_name> [output_file]
T8b949e# Environment: GITEA_REF / GITHUB_REF, GITEA_REF_NAME / GITHUB_REF_NAME, TAG_SUFFIX
T8b949e#
T8b949e# The output file contains one `-t registry/image:tag` per line,
T8b949e# suitable for passing directly to `docker buildx build`.
Tffa657set -eu
Te6edf3IMAGETff7b72=Ta5d6ff"Te6edf3$1Ta5d6ff"
Te6edf3OUTPUTTff7b72=Ta5d6ff"Tffd700${Te6edf32Tff7b72:-Tb4b4b4/tmp/docker-tags.txtTffd700}Ta5d6ff"
Te6edf3SUFFIXTff7b72=Ta5d6ff"Tffd700${Te6edf3TAG_SUFFIXTff7b72:-Tffd700}Ta5d6ff"
: > Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
_suffix_tagTff7b72(Tff7b72) Tff7b72{
Tffa657local Te6edf3tagTff7b72=Ta5d6ff"Te6edf3$1Ta5d6ff"
Tff7b72if Tff7b72[ -n Ta5d6ff"Te6edf3$SUFFIXTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657printf Ta5d6ff'%s' Ta5d6ff"Tffd700${Te6edf3tagTffd700}Tffd700${Te6edf3SUFFIXTffd700}Ta5d6ff"
Tff7b72else
Tffa657printf Ta5d6ff'%s' Ta5d6ff"Te6edf3$tagTa5d6ff"
Tff7b72fi
Tff7b72}
Te6edf3SHATff7b72=Ta5d6ff"Tff7b72$(git rev-parse --short HEADTff7b72)Ta5d6ff"
Te6edf3REFTff7b72=Ta5d6ff"Tffd700${Te6edf3GITEA_REFTff7b72:-Tffd700${Te6edf3GITHUB_REFTff7b72:-Tffd700}Tffd700}Ta5d6ff"
Te6edf3BRANCHTff7b72=Ta5d6ff"Tffd700${Te6edf3GITEA_REF_NAMETff7b72:-Tffd700${Te6edf3GITHUB_REF_NAMETff7b72:-Tff7b72$(git rev-parse --abbrev-ref HEADTff7b72)Tffd700}Tffd700}Ta5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Ta5d6ffsha-Tffd700${Te6edf3SHATffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tff7b72case Ta5d6ff"Te6edf3$BRANCHTa5d6ff" Tff7b72in
masterTb4b4b4|mainTff7b72)
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"latest"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tb4b4b4;Tb4b4b4;
devTff7b72)
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"dev"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tb4b4b4;Tb4b4b4;
Tff7b72esac
Tff7b72case Ta5d6ff"Te6edf3$REFTa5d6ff" Tff7b72in
refs/tags/v*Tff7b72)
Te6edf3VERSIONTff7b72=Ta5d6ff"Tffd700${Te6edf3REFTb4b4b4#refs/tags/vTffd700}Ta5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"latest"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Tffd700${Te6edf3VERSIONTffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Ta5d6ffvTffd700${Te6edf3VERSIONTffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Te6edf3MAJOR_MINORTff7b72=Ta5d6ff"Tff7b72$(Tffa657echo Ta5d6ff"Te6edf3$VERSIONTa5d6ff" Tb4b4b4| cut -d. -f1-2Tff7b72)Ta5d6ff"
Tff7b72if Tff7b72[ Ta5d6ff"Te6edf3$MAJOR_MINORTa5d6ff" !Tff7b72= Ta5d6ff"Te6edf3$VERSIONTa5d6ff" Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Tffd700${Te6edf3MAJOR_MINORTffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Ta5d6ffvTffd700${Te6edf3MAJOR_MINORTffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tff7b72fi
Tb4b4b4;Tb4b4b4;
refs/tags/*Tff7b72)
Te6edf3TAGTff7b72=Ta5d6ff"Tffd700${Te6edf3REFTb4b4b4#refs/tags/Tffd700}Ta5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"latest"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tffa657echo Ta5d6ff"Ta5d6ff-t Tffd700${Te6edf3IMAGETffd700}Ta5d6ff:Tff7b72$(_suffix_tag Ta5d6ff"Tffd700${Te6edf3TAGTffd700}Ta5d6ff"Tff7b72)Ta5d6ff" >> Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
Tb4b4b4;Tb4b4b4;
Tff7b72esac
Tffa657echo Ta5d6ff"Generated tags:"
cat Ta5d6ff"Te6edf3$OUTPUTTa5d6ff"
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────